package com.baox.agridata.synchronous.util;

import java.util.Random;

public class StringUtil {

    public static String getRandom(int len) {
        Random r = new Random();
        StringBuilder rs = new StringBuilder();
        for (int i = 0; i < len; i++) {
            rs.append(r.nextInt(10));
        }
        return rs.toString();
    }

    /**
     * 判断字符串是否为空
     * @param str 字符串
     * @return 是否为空
     */
    public static boolean isEmpty(String str) {
        return str == null || str.length() == 0;
    }

    /**
     * 判断字符串是否不为空
     * @param str 字符串
     * @return 是否不为空
     */
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

    /**
     * 去除字符串中的空格
     * @param str 字符串
     * @return 去除空格后的字符串
     */
    public static String trim(String str) {
        return str == null ? null : str.trim();
    }

    /**
     * 将字符串转换为大写
     * @param str 字符串
     * @return 大写字符串
     */
    public static String toUpperCase(String str) {
        return str == null ? null : str.toUpperCase();
    }

    /**
     * 将字符串转换为小写
     * @param str 字符串
     * @return 小写字符串
     */
    public static String toLowerCase(String str) {
        return str == null ? null : str.toLowerCase();
    }

    /**
     * 判断字符串是否包含某个子串
     * @param str 字符串
     * @param subStr 子串
     * @return 是否包含
     */
    public static boolean contains(String str, String subStr) {
        return str != null && subStr != null && str.contains(subStr);
    }

    /**
     * 将字符串按照指定分隔符拆分成数组
     * @param str 字符串
     * @param separator 分隔符
     * @return 拆分后的数组
     */
    public static String[] split(String str, String separator) {
        return str == null ? null : str.split(separator);
    }

    /**
     * 将字符串中的某个子串替换为另一个字符串
     * @param str 字符串
     * @param oldStr 要替换的子串
     * @param newStr 替换后的字符串
     * @return 替换后的字符串
     */
    public static String replace(String str, String oldStr, String newStr) {
        return str == null ? null : str.replace(oldStr, newStr);
    }
}
